www.gusucode.com > 基于matlab编程蒙特卡罗仿真设计源码程序 > 基于matlab编程蒙特卡罗仿真设计源码程序/第三讲 蒙特卡洛方法基本思想/liti6.m

    function liti6(p,mm)
efreq=zeros(1,mm);
randnum1 = binornd(1,p,1,mm);
randnum2 = unidrnd(6,1,mm);k1=0;k2=0;k3=0;
for i=1:mm
    if randnum1(i)==0         k1=k1+1;
    else
        if randnum2(i)<=3            k1=k1+1;
        elseif  randnum2(i)==6              k3=k3+1;
        else                k2=k2+1;
        end
    end
   efreq(i)=(k2+k3)/i;    
end    
num=1:mm;plot(num,efreq)